package cn.edu.imau.zy.common.core.entity.student;

import cn.edu.imau.zy.common.annotation.Excel;
import cn.edu.imau.zy.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;

import java.time.LocalDate;

/**
 * 学生信息管理对象 st_student
 * 
 * @author xsc
 * @date 2020-06-18
 */
@Data
@ToString
public class StStudent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String studentId;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    private String studentName;

    /** 学号 */
    @Excel(name = "学号")
    private String studentNum;

    /** 性别 */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知", combo = {"男", "女", "未知"})
    private String gender;

    /** 系别名称 */
    @Excel(name = "系别名称")
    private String deptName;

    /** 系别ID */
    private Long deptId;

    /** 专业名称 */
    @Excel(name = "专业名称")
    private String specialityName;

    /** 专业代码 */
    @Excel(name = "专业代码")
    private String specialityCode;

    /** 班级名称 */
    @Excel(name = "班级名称")
    private String classesName;

    /** 班级ID */
    private String classesId;

    /** 年级 */
    @Excel(name = "年级")
    private Long grade;

    /** 教育层次 */
    @Excel(name = "教育层次", readConverterExp = "1=本科,2=专科,3=专升本,4=研究生", combo = {"本科", "专科", "专升本", "研究生"})
    private String educationalLevel;

    /** 学制 */
    @Excel(name = "学制")
    private String schoolSystem;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCard;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phoneNumber;

    /** 招生类别 */
    @Excel(name = "招生类别", readConverterExp = "1=全日制统招,2=高职扩招,3=单招", combo = {"全日制统招", "高职扩招", "单招"})
    private String recruitType;

    /** 学籍状态 */
    @Excel(name = "学籍状态", readConverterExp = "1=在读,2=参军,3=退学,4=休学,5=其他,6=未报到", combo = {"在读", "参军", "退学", "休学", "其他", "未报到"})
    private String studentStatus;

    /** 民族 */
    @Excel(name = "民族", readConverterExp = "01=汉族,02=蒙古族,03=回族,04=藏族,05=维吾尔族,06=苗族,07=彝族,08=壮族,09=布依族,10=朝鲜族,11=满族,12=侗族,13=瑶族,14=白族,15=土家族,16=哈尼族,17=哈萨克族,18=傣族,19=黎族,20=傈僳族,21=佤族,22=畲族,23=高山族,24=拉祜族,25=水族,26=东乡族,27=纳西族,28=景颇族,29=柯尔克孜族,30=土族,31=达斡尔族,32=仫佬族,33=羌族,34=布朗族,35=撒拉族,36=毛难族,37=仡佬族,38=锡伯族,39=阿昌族,40=普米族,41=塔吉克族,42=怒族,43=乌孜别克族,44=俄罗斯族,45=鄂温克族,46=崩龙族,47=保安族,48=裕固族,49=京族,50=塔塔尔族,51=独龙族,52=鄂伦春族,53=赫哲族,54=门巴族,55=珞巴族,56=基诺族,57=其他,58=外国血统中国人士")
    private String studentNation;

    /** 学习形式 */
    @Excel(name = "学习形式", readConverterExp = "1=全日制,2=非全日制", combo = {"全日制", "非全日制"})
    private String learningForm;

    /** 出生日期 */
    @Excel(name = "出生日期", type = Excel.Type.EXPORT)
    @JsonFormat(shape = JsonFormat.Shape.STRING ,pattern = "yyyy-MM-dd")
    private LocalDate birthday;

    /** 籍贯 */
    private String nativePlace;
    /**
     * 籍贯
     */
    @Excel(name = "籍贯", type = Excel.Type.EXPORT)
    private String nativePlaceDesc;

    /** 政治面貌 */
    @Excel(name = "政治面貌", type = Excel.Type.EXPORT, readConverterExp = "01=中共党员,02=中共预备党员,03=共青团员,04=民革党员,05=民盟盟员,06=民建会员,07=民进会员,08=农工党党员,09=致公党党员,10=九三学社社员,11=台盟盟员,12=无党派人士,13=群众")
    private String politicalStatus;

    /** 电子邮件 */
    @Excel(name = "电子邮件", type = Excel.Type.EXPORT)
    private String email;

    /**
     * 生源地
     */
    private String ofStudent;
    /** 生源地 */
    @Excel(name = "生源地", type = Excel.Type.EXPORT)
    private String ofStudentDesc;

    /**
     * 宗教信仰
     */
    private String belief;

}
